Advancements in the field of software engineering have led to development of various tools for automated testing of the graphical user interface (GUI) applications. The existing automated testing tools are based on automation scripts which are essentially a set of instructions pre-recorded into the system. Typically, such automation scripts comprise a set of instructions in standard languages, such as PYTHON, JAVA, or R programming. The set of instructions may be recorded by the system and played back when testing of the GUI application is to be performed. As an example, based on the aforementioned set instructions, one or more actions may be performed on objects present in a user interface associated with the GUI applications. In another example, snipping of an object tree or a document object model (DOM) tree may be performed based on the aforementioned set of instructions. The aforementioned automation scripts are usually stored and maintained for repeated testing of the GUI application for regression purposes.
Typically, in software development life cycle, the GUI application may undergo periodic and frequent changes based on design updates, changing requirements, or bug fixes. The aforementioned updated may lead to changes in the user interface of the user interface of the GUI application. Such a change of the user interface may entail addition of fields, deletion of fields, semantic change to the fields, layout change of the fields, and the like. As a result of such changes, the stored automation scripts may be rendered useless as the scenarios being tested may fail because of the changes user interface. To overcome the aforementioned difficulty, it is imperative to manually update the automation scripts according to the change made to the user interface of the GUI application. The issue is compounded further when the number of the automation scripts is high, as it is very time consuming and resource intensive process to maintain the automation scripts manually.
It is therefore desirable to provide a mechanism for updating the automation scripts based on the change in the user interface of the GUI application. It is also desirable that such a mechanism includes enhanced usability aspects that enable the patient to conveniently navigate the entire menu based on a limited set of gestures.